package Thread;
//创建两个线程，由于CPU会随机调度线程，
// 所用采用加锁方法
// 解决
//① 两个线程并发执行
//②以及进程调度出现的抢占式策略引起的线程安全问题；
public class Demo17 {
    public static int count=0;
    static Object cur=new Object();
    public static void main(String[] args) throws InterruptedException {
        Thread t1=new Thread(()->{
            for(int i=0;i<50000;i++){
                synchronized (cur){
                    count++;
                }
            }
            System.out.println("t1线程结束");
        });
        Thread t2=new Thread(()->{
            for(int i=0;i<50000;i++){
                synchronized (cur){
                    count++;
                }
            }
            System.out.println("t2线程结束");
        });
        t1.start();
        t2.start();
        t1.join();
        t2.join();
        System.out.println("count="+count);
    }
}
